package com.zbl.zblproject.hrm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author youlanqiang
 * @version 1.0
 * @date 2018/10/29
 * 员工类
 */
@TableName("zbl_employee")
public class HrmEmployee {

    @TableId(type = IdType.AUTO)
    private int id;

    /**
     * 名称
     */
    private String name;

    /**
     * 员工编号
     */
    private String employeeSn;

    /**
     * 员工ID
     */
    private int departmentId;

    /**
     * 职位
     */
    private String job;

    /**
     * 性别
     */
    private String sex;

    /**
     * 电话号码
     */
    private String phone;

    /**
     * 生日
     */
    private LocalDate birthday;

    /**
     * 身份证号
     */
    private String cardNumber;

    /**
     * 学历
     */
    private String education;

    /**
     * 毕业学校名称
     */
    private String school;

    /**
     * 专业
     */
    private String major;

    /**
     * 职称
     */
    private String jobTitle;

    /**
     * 户籍地址
     */
    private String permanentAddress;

    /**
     * 家庭地址
     */
    private String homeAddress;

    /**
     * 入职时间
     */
    private LocalDateTime intoTime;

    /**
     * 合同时间
     */
    private LocalDateTime bargainTime;

    /**
     * 工资
     */
    private BigDecimal salary;

    /**
     * 员工状态
     * 0, 在职 1, 离职
     */
    private int status;

    /**
     * 离职时间
     */
    private LocalDateTime quitTime;


    /**
     * 部门
     */
    @TableField(exist = false)
    private HrmDepartment department;


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmployeeSn() {
        return employeeSn;
    }

    public void setEmployeeSn(String employeeSn) {
        this.employeeSn = employeeSn;
    }

    public int getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(int departmentId) {
        this.departmentId = departmentId;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public LocalDate getBirthday() {
        return birthday;
    }

    public void setBirthday(LocalDate birthday) {
        this.birthday = birthday;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String jobTitle) {
        this.jobTitle = jobTitle;
    }

    public String getPermanentAddress() {
        return permanentAddress;
    }

    public void setPermanentAddress(String permanentAddress) {
        this.permanentAddress = permanentAddress;
    }

    public String getHomeAddress() {
        return homeAddress;
    }

    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }

    public LocalDateTime getIntoTime() {
        return intoTime;
    }

    public void setIntoTime(LocalDateTime intoTime) {
        this.intoTime = intoTime;
    }

    public LocalDateTime getBargainTime() {
        return bargainTime;
    }

    public void setBargainTime(LocalDateTime bargainTime) {
        this.bargainTime = bargainTime;
    }

    public BigDecimal getSalary() {
        return salary;
    }

    public void setSalary(BigDecimal salary) {
        this.salary = salary;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public LocalDateTime getQuitTime() {
        return quitTime;
    }

    public void setQuitTime(LocalDateTime quitTime) {
        this.quitTime = quitTime;
    }

    public HrmDepartment getDepartment() {
        return department;
    }

    public void setDepartment(HrmDepartment department) {
        this.department = department;
    }

    @Override
    public String toString() {
        return "HrmEmployee{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", employeeSn='" + employeeSn + '\'' +
                ", departmentId=" + departmentId +
                '}';
    }
}
